---
name: "pg_autoctl run"
section: "1"
platform: "linux"
package: "pg-auto-failover-cli"
version: "2.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pg_autoctl run"
---

# pg\_autoctl run(1)

pg\_autoctl run pg\_autoctl run - Run the pg\_autoctl service (monitor or keeper)

## NAME

pg\_autoctl run - pg\_autoctl run

pg\_autoctl run - Run the pg\_autoctl service (monitor or keeper)

## SYNOPSIS

This commands starts the processes needed to run a monitor node or a keeper node, depending on the configuration file that belongs to the **--pgdata** option or **PGDATA** environment variable.

```
usage: pg_autoctl run  [ --pgdata --name --hostname --pgport ]
--pgdata      path to data directory
--name        pg_auto_failover node name
--hostname    hostname used to connect from other nodes
--pgport      PostgreSQL's port number
```

## DESCRIPTION

When registering Postgres nodes to the pg\_auto\_failover monitor using the *pg\_autoctl create postgres* command, the nodes are registered with metadata: the node name, hostname and Postgres port.

The node name is used mostly in the logs and *pg\_autoctl show state* commands and helps human administrators of the formation.

The node hostname and pgport are used by other nodes, including the pg\_auto\_failover monitor, to open a Postgres connection.

Both the node name and the node hostname and port can be changed after the node registration by using either this command (**pg\_autoctl run**) or the *pg\_autoctl config set* command.

## OPTIONS

- **--pgdata**

  Location of the Postgres node being managed locally. Defaults to the environment variable **PGDATA**. Use **--monitor** to connect to a monitor from anywhere, rather than the monitor URI used by a local Postgres node managed with **pg\_autoctl**.

- **--name**

  Node name used on the monitor to refer to this node. The hostname is a technical information, and given Postgres requirements on the HBA setup and DNS resolution (both forward and reverse lookups), IP addresses are often used for the hostname.

  The **--name** option allows using a user-friendly name for your Postgres nodes.

- **--hostname**

  Hostname or IP address (both v4 and v6 are supported) to use from any other node to connect to this node.

  When not provided, a default value is computed by running the following algorithm.

  - 1\.

    We get this machine's "public IP" by opening a connection to the given monitor hostname or IP address. Then we get TCP/IP client address that has been used to make that connection.

  - 2\.

    We then do a reverse DNS lookup on the IP address found in the previous step to fetch a hostname for our local machine.

  - 3\.

    If the reverse DNS lookup is successful , then **pg\_autoctl** does a forward DNS lookup of that hostname.

  When the forward DNS lookup response in step 3. is an IP address found in one of our local network interfaces, then **pg\_autoctl** uses the hostname found in step 2. as the default **--hostname**. Otherwise it uses the IP address found in step 1.

  You may use the **--hostname** command line option to bypass the whole DNS lookup based process and force the local node name to a fixed value.

- **--pgport**

  Postgres port to use, defaults to 5432.

## AUTHOR

Microsoft

## COPYRIGHT

Copyright (c) Microsoft Corporation. All rights reserved.
